package com.andyage.admin.dao;

import java.util.List;

import com.andyage.admin.bean.AdprojectBean;

/**
 * 项目相关的dao层
 * @author john
 *
 */
public interface AdProjectMapper {
	/**
	 * 查询发布的项目
	 * @param adProject
	 * @return
	 */
	List<AdprojectBean> queryAdProject(AdprojectBean adProject)throws Exception;
	/**
	 * 查询发布的项目的总数
	 * @param adProject
	 * @return
	 */
	int queryAdProjectCount(AdprojectBean adProject)throws Exception;
	/**
	 * 新增项目
	 * @param adProject
	 * @return
	 */
	int addAdProject(AdprojectBean adProject)throws Exception;
	/**
	 * 修改项目信息
	 * @param adProject
	 * @return
	 */
	int updateAdProject(AdprojectBean adProject)throws Exception;
	/**
	 * 删除项目
	 * @param adProject
	 * @return
	 */
	int deleteAdProject(String projectId)throws Exception;
	/**
	 * 发布项目
	 * @param projectId
	 * @return
	 */
	int updateProjectPublish(AdprojectBean adProject);
	/**
	 * 查询未开始的项目
	 * @param adProject
	 * @return
	 */
	List<AdprojectBean> queryProjectByStatus(AdprojectBean adProject);
	/**
	 * 查询未开始的项目数量
	 * @param adProject
	 * @return
	 */
	int queryProjectByStatusCount(AdprojectBean adProject);
	/**
	 * 修改项目状态，修改为下架
	 * 项目状态，0未开始，1开始中，2结束,3已下架
	 * @param adProject 
	 * @return
	 */
	int updateProjectByProjectStatus(AdprojectBean adProject);
	/**
	 * 通过项目id查询项目信息
	 * 此处在保存回报的时候
	 * 查询项目的状态，以便确认
	 * 回报的状态
	 * @param projectId
	 * @return
	 */
	AdprojectBean queryProjectInfoById(String projectId);
}
